小程序埋点 | 您所在的位置:网站首页 › 埋点 事件 › 小程序埋点 |
目录 1.1 获取SDK1.1.1 1. 从DM Hub的设置中心下载SDK,路径为:设置中心->营销触点->微信小程序1.1.2 2. 添加微信request合法域名1.1.3 3. 获取mini_program_code1.1.4 4. 检测SDK接入状态是否成功1.2 初始化1.3 设置1.3.1 setEnableAutoTrackMiniProgramOpen1.3.2 setEnableAutoTrackMiniProgramView1.3.3 setEnableAutoTrackMiniProgramExit1.3.4 setEnableAutoTrackMiniProgramResign1.4 埋点相关1.5 标识用户1.6 记录事件示例1.7 错误情况(从1.67开始支持):获取SDK1. 从DM Hub的设置中心下载SDK,路径为:设置中心->营销触点->微信小程序将文件拷贝到小程序项目到utils文件夹中,并在 app.js 第一行加上: require('./utils/cl_tracker.js');在微信开发设置,服务器域名的 request 合法域名内,把服务器地址加上. 详情参考微信服务器域名设置 管理员或开发者身份在微信小程序后台→开发→开发者设置中添加服务器地址, 服务器地址通常是cbe.convertlab.com,如果是私有部署,请询问对接人员 管理员或开发者身份在微信小程序后台左边菜单选择“设置”,然后在右边的“基本设置”拉到最底部就会看到“帐号信息”下的“AppID(小程序ID)”。 ![]() 在app.js中的onLaunch方法中键入 this.cl_tracker.track('mini_program_open', '测试小程序', 'mini_program_code');控制台中的Network中是否有消息(https://cdn.convertlab.com/__utm),并且status为200 初始化SDK提供了自动上报功能,并且有开关控制是否自动上报,设置自动上报之前,必须征得用户同意,app.js中推荐以下写法: App({ // ... onLaunch(e) { // 用户已经同意过了 if (wx.getStorageSync('accept_consent')) { this.cl_tracker.push({ targetId: 'mini_program_code', // appId targetName: '测试小程序' // 小程序名称 }) this.sdkSetting() } else { wx.showModal({ title: '是否同意采集', content: '是否同意采集?', success: (res) => { if (res.confirm) { // 同意 wx.setStorageSync('accept_consent', true) this.sdkSetting() } else if (res.cancel) { // 不同意 // } } }) } }, sdkSetting() { // 可以修改是否自动采集以下事件 // mini_program_open 事件开关 this.cl_tracker.setEnableAutoTrackMiniProgramOpen(true) // mini_program_view 事件开关 this.cl_tracker.setEnableAutoTrackMiniProgramView(true); // mini_program_exit事件开关 this.cl_tracker.setEnableAutoTrackMiniProgramExit(true); // mini_program_resign_active 事件开关 this.cl_tracker.setEnableAutoTrackMiniProgramResign(true); } // ... }) 设置SDK提供了一些设置方法 setEnableAutoTrackMiniProgramOpen设置 mini_program_open 事件开关,参数 true 开启,false 关闭,默认关闭 示例代码如下: App({ onLaunch(e) { this.cl_tracker.setEnableAutoTrackMiniProgramOpen(true); } }) setEnableAutoTrackMiniProgramView设置 mini_program_view 事件开关,参数 true 开启,false 关闭,默认关闭 示例代码如下: App({ onLaunch(e) { this.cl_tracker.setEnableAutoTrackMiniProgramView(true); } }) setEnableAutoTrackMiniProgramExit设置 mini_program_exit 事件开关,参数 true 开启,false 关闭,默认关闭 示例代码如下: App({ onLaunch(e) { this.cl_tracker.setEnableAutoTrackMiniProgramExit(true); } }) setEnableAutoTrackMiniProgramResign设置 mini_program_resign_active 事件开关,参数 true 开启,false 关闭,默认开启 示例代码如下: App({ onLaunch(e) { this.cl_tracker.setEnableAutoTrackMiniProgramResign(true); } }) 埋点相关在拿到对应身份后, 应立即设置客户身份,设置对应的身份类型(type)和value, 例如: var app = getApp(); app.cl_tracker.push({ identityType: 'applet-wechat', //如果identityValue使用unionid,identityType请设置为"wechat-unionid" identityValue: 'oI_M5xC_YlVhrGe5kcYhkzEQM6wM' // identityValue 是用户的open_id或unionid });身份模型请参考:DM Hub用户身份模型 如果有多个身份: (最多同时支持3个身份), 请分别放在identityType/identityType2/identityType3中 var app = getApp(); app.cl_tracker.push({ identityType: 'applet-wechat', identityValue: 'oI_M5xC_YlVhrGe5kcYhkzEQM6wM', // identityValue 是用户的open_id identityType2: 'wechat-unionid', identityValue2: 'o7QvZ1TT5oo1F8rNJvchn1GGv5t8', identityType3: 'customer_identity1', identityValue3: 'the_customer_identity_value1', });如果不是同时拿到所有的身份, 可以分别push identityType/identityType2/identityType3 app.cl_tracker.push({ identityType: 'applet-wechat', identityValue: 'openId_openId_openId', }); app.cl_tracker.push({ identityType2: 'wechat-unionid', identityValue2: 'unionId_unionId_union_Id', });注意:同一个identityType应该永远对应一种身份类型。 如果使用 app.cl_tracker.push({ identityType: 'applet-wechat', identityValue: 'openId_openId_openId', });又使用 app.cl_tracker.push({ identityType: 'wechat-unionid', identityValue: 'unionId_unionId_union_Id', });结果是第一个identityType: 'applet-wechat' 是无效的。 标识用户在没有identityValue之前,事件将一直是匿名的。 当获得用户的openId后,请将它设置在全局参数中 app.cl_tracker.push({ identityType:'applet-wechat', identityValue:'oI_M5xC_YlVhrGe5kcYhkzEQM6wM' });记录事件示例app.cl_tracker.track( 'mini_program_open', { targetName:'小程序名称', targetId:'mini_program_code', ... // 其他参数 }, callback // 事件回调,可以不传 ); 或者: app.cl_tracker.track( 'mini_program_open', '小程序名称', 'mini_program_code', {}, // 其他参数,可以不传 callback // 事件回调,可以不传 );第一次使用track方法之后,SDK会记住targetName和targetId,后续track方法可以不指定targetName和targetId,比如: app.cl_tracker.track( 'mini_program_view', { ... // 其他参数 }, callback // 事件回调,可以不传 ); 或者: app.cl_tracker.track( 'mini_program_view', '', '', {}, // 其他参数,可以不传 callback // 事件回调,可以不传 );若需要记录自定义事件请先在系统中添加。 小程序SDK的接口和身份模型与JS SDK保持一致,关于接口的详细介绍,已经URL参数的格式,可以参考网页JS SDK中的2、3、4章节。 注意:小程序只能使用javascript来提交事件 错误情况(从1.67开始支持):如果app.cl_tracker为空,请使用以下方式初始化sdk: 在app.js第一行加上var cl_tracker = require('./utils/cl_tracker.js'); 在App的onLaunch 和 onShow 事件中主动调用cl_tracker.onAppLaunch 和cl_tracker.onAppShow 注意onAppShow方法需要带参数 该完后的app.js示例代码如下: var cl_tracker = require('./utils/tracking.js'); App({ onLaunch: function() { cl_tracker.onAppLaunch.apply(this); ... }, onShow: function (params) { cl_tracker.onAppShow(params); ... }, ... }); |
CopyRight 2018-2019 实验室设备网 版权所有 |